# Author: BSM

gtk_color_scheme = "fg_color:#D0D0D0\nbg_color:#444444\ntext_color:#d0d0d0\nbase_color:#262626\nselected_fg_color:#d0d0d0\nselected_bg_color:#222222\ntooltip_fg_color:#D0D0D0\ntooltip_bg_color:#363636"#########
gtk-icon-sizes	= "gtk-large-toolbar=24,24:gtk-small-toolbar=16,16:gtk-button=24,24" # This enables "compact-mode".

gtk-button-images	= 0 # Enables or disables icons on buttons (OS X-like).

include "panel.rc"

##########################
# GENERAL THEME SETTINGS 
##########################
style "clearlooks-default"
{
	GtkButton      ::child-displacement-x	= 0 # Pressed button icon displacement.
	GtkButton      ::child-displacement-y	= 0 # Pressed button icon displacement.
	GtkButton      ::default-border		= { 0, 0, 0, 0 }
	GtkCheckButton ::indicator-size		= 12 # Size for check buttons.
	GtkRadioButton ::indicator-size		= 12 # Size for radio buttons.
	GtkPaned       ::handle-size		= 3 # Width of handles.

	GtkRange       ::trough-border		= 0
	GtkRange       ::slider-width		= 14
	GtkRange       ::stepper-size		= 12

	GtkScale       ::slider-length		= 24 # Length of sliders.
	GtkScale       ::trough-side-details	= 1
	GtkScrollbar   ::min-slider-length	= 30 # Min. length of scrollbars.

	GtkMenuBar     ::internal-padding	= 0
	GtkExpander    ::expander-size		= 10
	GtkToolbar     ::internal-padding	= 0 # Toolbar padding.
	GtkTreeView    ::expander-size		= 12
	GtkTreeView    ::vertical-separator	= 0

	GtkMenu        ::horizontal-padding	= 0
	GtkMenu        ::vertical-padding	= 0

	WnckTasklist   ::fade-overlay-rect	= 0

	GtkButton      ::focus-padding		= 0 # This can give you a more compact appearance.
  	GtkScrolledWindow ::scrollbar-spacing	= 1 # This sets the spacing between scrollbars.
	GtkTreeView::odd_row_color		= mix(0.98, shade (0.93,@base_color), @selected_bg_color) # This sets the color for odd row items.

	GtkEntry::honors-transparent-bg-hint	= 1

#	Uncomment one or both of the following for flat/unified menus or toolbars:
#	GtkToolbar     ::shadow-type		= GTK_SHADOW_NONE  # Makes toolbars flat and unified.
#	GtkMenuBar     ::shadow-type		= GTK_SHADOW_NONE  # Makes menus flat and unified.

	xthickness = 1
	ythickness = 1

	fg[NORMAL]        = @fg_color
	fg[PRELIGHT]      = @fg_color
	fg[SELECTED]      = @selected_fg_color
	fg[ACTIVE]        = @fg_color
	fg[INSENSITIVE]   = darker (@bg_color)

	bg[NORMAL]        = shade(0.92,@bg_color)
	bg[PRELIGHT]      = shade (1.02, @bg_color)
	bg[SELECTED]	  = @selected_bg_color  # Color for selected items.
	bg[INSENSITIVE]   = @bg_color
	bg[ACTIVE]        = shade (0.90, @bg_color)

	base[NORMAL]      = @base_color
	base[PRELIGHT]    = shade (0.95, @bg_color)
	base[ACTIVE]      = shade (2.0, @selected_bg_color)
	base[SELECTED]    = shade (1.25, @selected_bg_color)  # Color for selected base items.
	base[INSENSITIVE] = @bg_color

	text[NORMAL]      = @text_color
	text[PRELIGHT]    = @text_color
	text[ACTIVE]      = @selected_fg_color
	text[SELECTED]    = @selected_fg_color
	text[INSENSITIVE] = darker (@bg_color)

	engine "clearlooks" 
	{
		reliefstyle	= 0 # 0 makes buttons/widgets less raised.
		menubarstyle	= 2 # Gradient menubar, use tweak in line 66 for flat menubars.
		toolbarstyle	= 1 # 0 makes bad toolbars flat.
		animation	= TRUE # FALSE disables progressbar animations.
		style		= GUMMY # Could also be set to GLOSSY.
		radius		= 1.0 # Roundness of widgets.
		hint		= "use-hints" # Set a hint to disable backward compatibility fallbacks.
	}

}

#################
# THEME MODULES 
#################
style "evolution-hack" = "clearlooks-default" # Hacks for Evolution Mail.
{	
	bg[NORMAL]	= shade (1.04, @bg_color) # Color for evo treeview headers.
	bg[PRELIGHT]	= shade (1.08, @bg_color) # Color for evo treeview header prelight.
	bg[ACTIVE]	= shade (0.90, @bg_color) # Color for unfocused evo selected items.
	bg[SELECTED]	= shade (1.25, @selected_bg_color) # Color for evo selected items.
	fg[ACTIVE]      = @selected_fg_color # Color for evo active text.
	fg[SELECTED]    = @selected_fg_color # Color for evo selected text.
}

style "clearlooks-wide"
{
	xthickness = 2 # Can't change, or clowns will eat you.
	ythickness = 2 # Can't change, or clowns will eat you.
}

style "clearlooks-wider"
{
	xthickness = 3 # Can't change, or clowns will eat you.
	ythickness = 3 # Can't change, or clowns will eat you.
	engine "clearlooks" 
	{
		radius = 2.5 # Firefox > 3.0.6 location bar's bug fix
	}
}

style "clearlooks-button" = "clearlooks-wider"
{
	xthickness = 3 # Can't change, or clowns will eat you.
	ythickness = 3 # Can't change, or clowns will eat you.
	bg[NORMAL]	= shade (1.05, @bg_color) # Color for buttons.
	bg[SELECTED]	= @selected_bg_color
	fg[SELECTED]	= @selected_fg_color
	bg[PRELIGHT]	= shade (1.20, @bg_color) # Color for button-prelight.
	bg[ACTIVE]	= shade (0.85, @bg_color) # Color for pressed-buttons.
	engine "clearlooks"{
		style = GUMMY
		radius = 2.5
	}
}

style "clearlooks-notebook-bg"
{
	bg[NORMAL]	= shade (1.10, @bg_color) # Tab background.
	bg[ACTIVE]	= shade (0.94, @bg_color) # Unfocused tab background.
}

style "clearlooks-notebook" = "clearlooks-notebook-bg"
{
	xthickness = 2 # Width of tabs and notebook borders.
	ythickness = 1 # Height of tabs and notebook borders.

	bg[SELECTED] = shade (1.10, @bg_color)

	engine "clearlooks" 
	{
		radius = 2.0 # Roundness of menu items.
		style = GLOSSY
	}
}

style "clearlooks-menu" = "clearlooks-wider"
{
	bg[NORMAL]	= shade(0.20,@bg_color)
	bg[ACTIVE]	= shade(0.25,@bg_color)
	bg[PRELIGHT]	= shade(0.4,@bg_color)
	bg[SELECTED]	= shade(0.60, @bg_color)
	
	engine "clearlooks" 
	{
		radius = 1.0 # Roundness of menu items.
	}
}

style "clearlooks-menu-item" = "clearlooks-wider"
{

	fg[PRELIGHT]	= @selected_fg_color  # Color of selected menu item text.
	bg[SELECTED]	= shade (1.25, @selected_bg_color)  # Color of menu items.
	bg[PRELIGHT]	= shade (1.25, @selected_bg_color)  # Color of menu items.
	
	xthickness = 0
	ythickness = 4
}

style "clearlooks-separator-menu-item"
{
	fg[NORMAL]	= "#D0D0D0"
	xthickness = 0
	ythickness = 2
}

style "clearlooks-menubar"
{
#	fg[NORMAL]	= "#666666"
	xthickness = 1
	ythickness = 3
	engine "clearlooks"
	{
		hint	= "menubar"
	}
}

style "clearlooks-menubar-item" = "clearlooks-wider"
{

#	fg[PRELIGHT]	= @selected_fg_color  # Color of selected menu item text.	
#	fg[NORMAL]	= "#222222"

	xthickness = 0
	ythickness = 4
}

style "clearlooks-treeview"
{
	bg[SELECTED]	= shade (1.25, @selected_bg_color)

	GtkTreeView::odd_row_color = shade(1.03,@tooltip_bg_color)
	GtkTreeView::even_row_color = @tooltip_bg_color

#	GtkTreeView::odd_col_color = shade(0.95,@tooltip_bg_color)
#	GtkTreeView::even_col_color = @tooltip_bg_color

  	engine "clearlooks" 
	{
		hint = "treeview"
		radius = 0.0  # This makes treeview progressbars square.
	}
}

style "clearlooks-treeview-header" = "clearlooks-default"
{
	xthickness = 2
	ythickness = 1
	bg[NORMAL]	= shade (1.04, @bg_color)  # Color for treeview headers.
	bg[PRELIGHT]	= shade (1.08, @bg_color)  # Color for treeview header prelight.
	bg[ACTIVE]	= shade (0.85, @bg_color)  # Color for pressed-treeview.
	engine "clearlooks" {
		hint = "treeview-header"
	}
	bg[NORMAL]	= shade(0.92,@bg_color)
}

style "clearlooks-frame-title"
{
	#fg[NORMAL]	= lighter (@fg_color)
}

style "clearlooks-tooltips" = "clearlooks-wider"
{
	bg[NORMAL]	= @tooltip_bg_color
	fg[NORMAL]	= @tooltip_fg_color
}

style "metacity-frame"# = "clearlooks-default"
{
	bg[NORMAL]	= @bg_color  # Color for metacity borders.
}

style "clearlooks-progressbar"
{
	xthickness = 1
	ythickness = 1
	fg[PRELIGHT]	= @base_color  # Progressbar prelighted text.
	engine "clearlooks"
	{
		radius	= 1.0  # Roundness of progressbars.
		hint	= "progressbar"
	}
}

style "clearlooks-statusbar"
{
	engine "clearlooks"
	{
		hint	= "statusbar"
	}
}

style "clearlooks-comboboxentry"
{
	engine "clearlooks"
	{
		hint	= "comboboxentry"
	}
}

style "clearlooks-spinbutton"
{
	bg[NORMAL]   = shade (1.04, @bg_color) # Color for spinbuttons.
	bg[PRELIGHT]   = shade (1.08, @bg_color) # Color for spinbutton prelight.
	bg[ACTIVE]   = shade (0.85, @bg_color) # Color for pressed-spinbuttons.
	engine "clearlooks"
	{
		hint	= "spinbutton"
	}
}

style "clearlooks-scale" = "clearlooks-button"
{
	bg[NORMAL]	= shade (1.04, @bg_color) # Color for sliders.
	bg[PRELIGHT]	= shade (1.08, @bg_color) # Color for slider prelight.
	bg[ACTIVE]	= shade (0.85, @bg_color) # Color for pressed-sliders.
	engine "clearlooks"
	{
		hint	= "scale"
	}
}

style "clearlooks-hscale" = "clearlooks-scale"
{
	engine "clearlooks"
	{
		hint	= "hscale"
	}
}

style "clearlooks-vscale" = "clearlooks-scale"
{
	engine "clearlooks"
	{
		hint	= "vscale"
	}
}

style "clearlooks-nautilus-location" # Workaround for nautilus' messages.
{
	bg[NORMAL]	= shade (1.25, @selected_bg_color)
}

style "clearlooks-radiocheck" = "clearlooks-default"
{				
	text[NORMAL]	= "#D0D0D0" # Color for checks/radio items.
#	bg[SELECTED]	= lighter (@selected_bg_color) # Color for prelight of check/radio buttons.
}

##############
# SCROLLBARS
##############
style "clearlooks-scrollbar"
{
	bg[NORMAL]	= shade (1.04, @bg_color) # Color for non-colored scrollbars.
	bg[PRELIGHT]	= shade (1.08, @bg_color) # Color for scrollbar prelight? (probably obsolete)
	bg[ACTIVE]	= shade (0.85, @bg_color) # Color for pressed scrollbar buttons.
#	bg[SELECTED]	= @selected_bg_color # You can change the color of colorized scrollbars here.
	engine "clearlooks"
	{
#		colorize_scrollbar	= TRUE # Uncommenting this gives you colorful scrollbars.
		radius	= 1.0  # Roundness of scrollbars.
		hint	= "scrollbar"
	}
}

style "clearlooks-hscrollbar" = "clearlooks-scrollbar"
{
	engine "clearlooks"
	{
		hint	= "hscrollbar"
	}
}

style "clearlooks-vscrollbar" = "clearlooks-scrollbar"
{
	engine "clearlooks"
	{
		hint	= "vscrollbar"
	}
}

############
# TOOLBARS
############
#Gradient toolbars are enabled for this theme.

style "clearlooks-toolbar" = "clearlooks-default"
{
	bg[NORMAL] = @bg_color
	#bg[NORMAL]   = shade (0.965, @bg_color)  # Darkens gradient toolbars to match with unified metacity theme.
	#engine "clearlooks"
	#{
	#	toolbarstyle = 0
	#}

}

style "clearlooks-evo-new-button-workaround"
{
	bg[NORMAL]   = shade (0.965, @bg_color)
	engine "clearlooks"
	{
		toolbarstyle = 0
	}
}

style "opera"
{
	bg[NORMAL]   = "#3D3D3D"
}

widget_class "EShellWindow.GtkVBox.BonoboDock.BonoboDockBand.BonoboDockItem*" style "clearlooks-evo-new-button-workaround"

class "GtkHandleBox" style "clearlooks-toolbar"

#########################################
# Matches
#########################################

# Clearlooks default style is applied to every widget.
class "GtkWidget"    style "clearlooks-default"

# Increase the x/ythickness in some widgets.
class "GtkToolbar"   style "clearlooks-toolbar" 
class "GtkFrame"     style "clearlooks-wide"
class "GtkEntry"     style "clearlooks-wider"
class "GtkXFWM"	     style "metacity-frame"
#class "MetaFrames"   style "metacity-frame"
class "GtkSeparator" style "clearlooks-wide"
#class "GtkWindow"      style "metacity-frame"
class "GtkCalendar"  style "clearlooks-wide"

class "GtkSpinButton"  style "clearlooks-spinbutton"
class "GtkScale"       style "clearlooks-scale"
class "GtkVScale"      style "clearlooks-vscale"
class "GtkHScale"      style "clearlooks-hscale"
class "GtkScrollbar"   style "clearlooks-scrollbar"
class "GtkVScrollbar"  style "clearlooks-vscrollbar"
class "GtkHScrollbar"  style "clearlooks-hscrollbar"

class "GtkRadio*"	style "clearlooks-radiocheck"
class "GtkCheck*"	style "clearlooks-radiocheck"

# General matching following, the order is choosen so that the right styles override each other eg. progressbar needs to be more important then the menu match.

# This is not perfect, it could be done better (That is modify *every* widget in the notebook, and change those back that we really don't want changed)
widget_class "*<GtkNotebook>*<GtkEventBox>"     style "clearlooks-notebook-bg"
widget_class "*<GtkNotebook>*<GtkDrawingArea>"  style "clearlooks-notebook-bg"
widget_class "*<GtkNotebook>*<GtkLayout>"       style "clearlooks-notebook-bg"
widget_class "*.GtkNotebook.*.GtkViewport"	style "clearlooks-notebook"

widget_class "*<GtkButton>"      style "clearlooks-button"
widget_class "*<GtkNotebook>"    style "clearlooks-notebook"
widget_class "*<GtkStatusbar>*"  style "clearlooks-statusbar"

widget_class "*<GtkComboBoxEntry>*" style "clearlooks-comboboxentry"
widget_class "*<GtkCombo>*"         style "clearlooks-comboboxentry"

widget_class "*<GtkMenu>*"              style "clearlooks-menu"
widget_class "*<GtkMenuItem>*"          style "clearlooks-menu-item"
widget_class "*<GtkMenuBar>*"           style "clearlooks-menubar"
#widget_class "*<GtkMenuBar>*<GtkMenuItem>*"           style "clearlooks-menubar-item"

widget_class "*<GtkSeparatorMenuItem>*" style "clearlooks-separator-menu-item"

widget_class "*.<GtkFrame>.<GtkLabel>" style "clearlooks-frame-title"
widget_class "*.<GtkTreeView>*"        style "clearlooks-treeview"

widget_class "*<GtkProgressBar>"       style "clearlooks-progressbar"

# Treeview header
widget_class "*.<GtkTreeView>.<GtkButton>" style "clearlooks-treeview-header"
widget_class "*.<GtkCTree>.<GtkButton>"    style "clearlooks-treeview-header"
widget_class "*.<GtkList>.<GtkButton>"     style "clearlooks-treeview-header"
widget_class "*.<GtkCList>.<GtkButton>"    style "clearlooks-treeview-header"

# Workarounds for Evolution
widget_class "*.ETable.ECanvas"    style "clearlooks-treeview-header"
widget_class "*.ETree.ECanvas"    style "clearlooks-treeview-header"
widget_class "*GtkCTree*"	style "evolution-hack"
widget_class "*GtkList*"	style "evolution-hack"
widget_class "*GtkCList*"	style "evolution-hack"
widget_class "*.ETree.*"	style "evolution-hack"
widget_class "*EInfoLabel*"	style "evolution-hack"

# The window of the tooltip is called "gtk-tooltip"
################################
# FIXME:
# This will not work if one embeds eg. a button into the tooltip.
# As far as I can tell right now we will need to rework the theme
# quite a bit to get this working correctly.
# (It will involve setting different priorities, etc.)
################################
widget "gtk-tooltip*" style "clearlooks-tooltips"

###################################################
# SPECIAL CASES AND WORKAROUNDS
###################################################

# Special case the nautilus-extra-view-widget
# ToDo: A more generic approach for all applications that have a widget like this.
widget "*.nautilus-extra-view-widget" style : highest "clearlooks-nautilus-location"

# Work around for http://bugzilla.gnome.org/show_bug.cgi?id=382646
# Note that the work around assumes that the combobox is _not_ in appears-as-list mode.
# This style does not affect GtkComboBoxEntry, it does have an effect on comboboxes in appears-as-list mode though.
style "clearlooks-text-is-fg-color-workaround"
{
	text[NORMAL]      = @fg_color
	text[PRELIGHT]    = @fg_color
	text[SELECTED]    = @selected_fg_color
	text[ACTIVE]      = @fg_color
	text[INSENSITIVE] = darker (@bg_color)
}
widget_class "*.<GtkComboBox>.<GtkCellView>"   style "clearlooks-text-is-fg-color-workaround"

style "clearlooks-menuitem-text-is-fg-color-workaround"
{
	text[NORMAL]        = @fg_color
	text[PRELIGHT]      = @selected_fg_color
	text[SELECTED]      = @selected_fg_color
	text[ACTIVE]        = @fg_color
	text[INSENSITIVE]   = darker (@bg_color)
}
widget "*.gtk-combobox-popup-menu.*"   style "clearlooks-menuitem-text-is-fg-color-workaround"

# Work around the usage of GtkLabel inside GtkListItems to display text.
# This breaks because the label is shown on a background that is based on the base color set.
style "clearlooks-fg-is-text-color-workaround"
{
	fg[NORMAL]      = @text_color
	fg[PRELIGHT]    = @text_color
	fg[ACTIVE]      = @selected_fg_color
	fg[SELECTED]    = @selected_fg_color
	fg[INSENSITIVE] = darker (@bg_color)
}
widget_class "*<GtkListItem>*" style "clearlooks-fg-is-text-color-workaround"
# The same problem also exists for GtkCList and GtkCTree.
# Only match GtkCList and not the parent widgets, because that would also change the headers.
widget_class "*<GtkCList>" style "clearlooks-fg-is-text-color-workaround"
widget_class "*<EelEditableLabel>" style "clearlooks-fg-is-text-color-workaround"

#widget "*GtkToolbar*"	style "opera" #Enable this if you use Opera

# The answer to the ultimate question of life, the universe, and everything is 42.
